home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / jabber / objects / nick.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  2KB  |  44 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import libxml2
  5. from pyxmpp.objects import StanzaPayloadObject
  6. from pyxmpp.xmlextra import common_doc, get_node_ns_uri
  7. from pyxmpp.utils import to_utf8, from_utf8
  8. NICK_NS = 'http://jabber.org/protocol/nick'
  9.  
  10. class Nick(StanzaPayloadObject):
  11.     xml_element_name = 'nick'
  12.     xml_element_namespace = NICK_NS
  13.     
  14.     def __init__(self, xmlnode_or_nick):
  15.         if isinstance(xmlnode_or_nick, libxml2.xmlNode):
  16.             self.from_xml(xmlnode_or_nick)
  17.         else:
  18.             self.nick = xmlnode_or_nick
  19.  
  20.     
  21.     def from_xml(self, node):
  22.         if node.type != 'element':
  23.             raise ValueError, 'XML node is not a nick (not en element)'
  24.         
  25.         ns = get_node_ns_uri(node)
  26.         if ns or ns != self.xml_element_namespace or node.name != self.xml_element_name:
  27.             raise ValueError, 'XML node is not a %s descriptor' % self.xml_element_name
  28.         
  29.         self.nick = from_utf8(node.getContent())
  30.  
  31.     
  32.     def complete_xml_element(self, xmlnode, _unused):
  33.         xmlnode.addContent(to_utf8(self.nick))
  34.  
  35.     
  36.     def __str__(self):
  37.         n = self.as_xml(doc = common_doc)
  38.         r = n.serialize()
  39.         n.unlinkNode()
  40.         n.freeNode()
  41.         return r
  42.  
  43.  
  44.